import { createRouter, createWebHashHistory } from 'vue-router'
import { useUserStore } from '@/stores/user'
const router = createRouter({
  // import.meta.env.BASE_URL： 指明路由启动后的基础路径，默认值是 /
  history: createWebHashHistory(import.meta.env.BASE_URL),
  // 路由规则表
  routes: [
    {
      // 根路径, 规定访问的组件是布局组件
      path: '/',
      // 路由懒加载：当⻚⾯被访问的时候，才去加载对应的⽂件，从⽽提⾼⾸屏的加载速度
      component: () => import('@/views/Layout/index.vue'),
      // 重定向：防⽌访问根路径，⻚⾯空⽩
      redirect: '/article',
      // 路由嵌套
      children: [
        {
          // 数据看板
          path: 'dashboard',
          component: () => import('@/views/Dashboard/index.vue')
        },
        {
          // ⽂章管理
          path: 'article',
          component: () => import('@/views/Article/index.vue')
        }
      ]
    },
    {
      // 登录
      path: '/login',
      component: () => import('@/views/Login/index.vue')
    },
    {
      // tmp
      path: '/tmp',
      component: () => import('@/views/Tmp/index.vue')
    },
    {
      // 404
      path: '/:pathMatch(.*)*',
      component: () => import('@/views/404/index.vue')
    }
  ]
})


// 白名单：无需登录就可以访问的路由路径
const whiteList = ['/login']

// 全局前置守卫
router.beforeEach((to, from) => {
  return true;
  // // 从 pinia 中获取 token
  // const userStore = useUserStore()

  // if (userStore.token) {
  //   // 登录了
  //   // 还想去登录
  //   if (to.path === '/login') {
  //     // 直接重定向到首页
  //     return '/'
  //   } else {
  //     // 放行
  //     return true
  //   }
  // } else {
  //   // 未登录
  //   if (whiteList.includes(to.path)) {
  //     // 放行
  //     return true
  //   } else {
  //     // 重定向到登录，并且携带回跳地址
  //     return `/login?redirectUrl=${to.path}`
  //   }
  // }
})


export default router